package de.bazinga.rotw.vehicle;

import com.jme.input.action.InputActionEvent;
import com.jme.math.Vector3f;
import com.jme.scene.Node;


abstract public class Vehicle extends Node {
	private static final long serialVersionUID = 1L;

	
	public Vehicle() {
		super("vehicle");
	}
	
	/**
	 * The Speed of the Vehicle
	 * @return the speed of the Vehicle
	 */
	abstract public int getSpeed();
	
	abstract public void handleEvent(InputActionEvent evt);
	
	
	abstract public void update(float tpf);
	
	abstract public void reset();
	
	abstract public Vector3f getExitLocation();
	
	abstract public Vector3f getCameraLocation();
	
	
	abstract public boolean isCurrentlyUsed();
	abstract public void setCurrentlyUsed(boolean used);
	
	abstract public int getVehicleIndex();
	abstract public void setVehicleIndex(int index);
	
	abstract public void setDamage(int damage, boolean sendMsg);
	abstract public int getDamage();
	
	abstract public boolean isDriving();
}